/**
 * @file log_service.h
 * @brief 日志服务模块头文件
 * 
 * 该模块实现UDP日志服务器，接收日志数据并写入文件。
 * 支持日志文件轮转、智能时间同步检测、空间清理等功能。
 * 
 * @author 伞控无人机项目组
 * @date 2024
 */

#ifndef LOG_SERVICE_H
#define LOG_SERVICE_H

#include "log_utils.h"
#include <time.h>

// 时间同步状态枚举
typedef enum {
    TIME_SYNC_INIT = 0,      // 初始状态
    TIME_SYNC_WAITING = 1,   // 等待GPS授时
    TIME_SYNC_DETECTED = 2,  // 检测到GPS授时
    TIME_SYNC_COMPLETED = 3  // GPS授时完成
} time_sync_state_t;

// 日志服务函数声明
void *log_service_function(void *arg);

// 停止日志服务运行
void log_service_stop(void);

// 信号处理函数
void register_signal_handlers(void);

// 获取GPS同步统计信息
// 参数: sync_count - 指向存储同步次数的指针
//       last_sync_time - 指向存储最后同步时间的指针
// 返回: 成功返回0，失败返回-1
int get_gps_sync_statistics(int *sync_count, time_t *last_sync_time);

// 获取当前时间同步状态
// 返回: 时间同步状态枚举值
time_sync_state_t get_time_sync_state(void);

#endif /* LOG_SERVICE_H */ 